package com.ruoyi.project.service;

import java.util.List;

import com.ruoyi.project.domain.FinRecordVoucher;
import com.ruoyi.project.domain.FinRecordVoucherItem;

/**
 * 凭证项Service接口
 *
 * @author abel
 * @date 2024-10-15
 */
public interface IFinRecordVoucherItemService
{
    /**
     * 查询凭证项
     *
     * @param id 凭证项ID
     * @return 凭证项
     */
        FinRecordVoucherItem selectFinRecordVoucherItemById(Long id);

    /**
     * 获取凭证项 ，没有找到数据则抛错
     *
     * @param id 凭证项ID
     * @return 凭证项
     */
        FinRecordVoucherItem getFinRecordVoucherItemById(Long id);

    /**
     * 查询凭证项列表
     *
     * @param finRecordVoucherItem 凭证项
     * @return 凭证项集合
     */
    List<FinRecordVoucherItem> selectFinRecordVoucherItemList(FinRecordVoucherItem finRecordVoucherItem);

    /**
     * 新增凭证项
     *
     * @param finRecordVoucherItem 凭证项
     * @return 结果
     */
    int insertFinRecordVoucherItem(FinRecordVoucherItem finRecordVoucherItem);

    /**
     * 修改凭证项
     *
     * @param finRecordVoucherItem 凭证项
     * @return 结果
     */
    int updateFinRecordVoucherItem(FinRecordVoucherItem finRecordVoucherItem);

    /**
     * 批量删除凭证项
     *
     * @param ids 需要删除的凭证项ID
     * @return 结果
     */
    int deleteFinRecordVoucherItemByIds(Long[] ids);

    /**
     * 删除凭证项信息
     *
     * @param id 凭证项ID
     * @return 结果
     */
    int deleteFinRecordVoucherItemById(Long id);

    void createByFinRecord(FinRecordVoucher finRecordVoucher);

    void updateByFinRecord(FinRecordVoucher finRecordVoucher);

    List<FinRecordVoucherItem> listByRecordId(Long recordId);

    void deleteByRecordId(Long recordId);
}
